import cv2
import pytesseract
from docx import Document

# 重要：确保pytesseract指向正确的安装路径，例如在Windows系统中：
# pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'

# 读取图片 - 注意路径中的双反斜杠或使用原始字符串
image_path = r"D:\\image.jpg"  # 使用原始字符串避免转义字符问题
image = cv2.imread(image_path)

if image is None:
    print("图像未加载，请检查路径是否正确")
else:
    # 使用OCR识别文字
    text = pytesseract.image_to_string(image)

    # 创建Word文档
    doc = Document()

    # 将识别的文字转换为表格
    lines = text.split('\n')
    data = [line.split() for line in lines if line.strip()]  # 根据实际情况调整分割方式

    # 添加表格到Word文档
    table = doc.add_table(rows=1, cols=len(data[0]))  # 假设所有行有相同的列数，这里用第一行的列数作为默认值
    hdr_cells = table.rows[0].cells
    for i, cell in enumerate(data[0]):
        hdr_cells[i].text = cell  # 设置表头

    for row in data[1:]:
        row_cells = table.add_row().cells
        for i, cell in enumerate(row):
            row_cells[i].text = cell

    # 保存Word文档
    try:
        doc.save('output.docx')
        print("文件已成功保存为output.docx")
    except Exception as e:
        print(f"保存文件时出错: {e}")